package com.bawei.rk_01.utlis

import android.content.Context
import com.alibaba.android.arouter.facade.Postcard
import com.alibaba.android.arouter.facade.annotation.Interceptor
import com.alibaba.android.arouter.facade.callback.InterceptorCallback
import com.alibaba.android.arouter.facade.template.IInterceptor
import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.SPUtils

//登录拦截 ， 当跳转到某个页面 ， 判断是否登录 ， 如果登录跳转到对应界面 ， 否则跳转到登录界面
//默认运行的页面，不拦截
@Interceptor(priority = 1)
class LoginInterceptor : IInterceptor {
    override fun init(context: Context?) {
        //初始化 ，不可任何操作
    }

    override fun process(postcard: Postcard?, callback: InterceptorCallback?) {
        //执行相对应的操作
        //判断哪些界面需要登录（除了登录注册界面，其他都需判断是否登录）  当前是否登录
        //postcard：携带目标页面的信息（如路径）
        //callback：用于控制导航流程的回调对象

        if ("/app/LoginActivity".equals(postcard?.path)
            || "/app/WebActivity".equals(postcard?.path)
            || SPUtils.getInstance().getString("token").isNotEmpty() ){

            callback?.onContinue(postcard)

        }else{

            ARouter.getInstance().build("/app/LoginActivity").navigation()

        }

    }
}